#pragma once

#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<errno.h>
#include"BinaryTree.h"

typedef BTNode* QDataType;

typedef struct QueueNode
{
	struct QueueNode* next;
	QDataType data;
} QueueNode;

typedef struct LinkQueue
{
	QueueNode* front;
	QueueNode* rear;
} LinkQueue;

void QueueInit(LinkQueue* Q);
void QueueDestroy(LinkQueue*);
int QueueEmpty(LinkQueue*);

void QueuePush(LinkQueue*, QDataType);
void QueuePop(LinkQueue*);

QDataType QueueFront(LinkQueue*);


